package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * error report对象 st_error_report
 *
 * @author ruoyi
 * @date 2020-03-05
 */
@ApiModel(value = "StErrorReport", description = "添加error_report报告Dto") // 用来描述封装的参数对象与返回的参数对象
@JsonInclude(JsonInclude.Include.NON_NULL)
public class StErrorReport extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键ID", name = "id", required = false, dataType = "int", example = "主键ID")
    private Long id;

    /**
     * service号
     */
    @Excel(name = "service号")
    @ApiModelProperty(value = "Service号", name = "serviceNo", required = true, dataType = "String", example = "serviceNo")
    private String serviceNo;

    /**
     * 工程师ID
     */
    @Excel(name = "工程师ID")
    @ApiModelProperty(value = "工程师ID", name = "enginnerId", required = true, dataType = "int", example = "工程师ID")
    private Long enginnerId;

    /**
     * 错误发生日期
     */
    @Excel(name = "错误发生日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "错误发生日期 yyyy-MM-dd", name = "errorDate", required = true, dataType = "String", example = "错误发生日期")
    private Date errorDate;

    /**
     * 问题描述
     */
    @Excel(name = "问题描述")
    @ApiModelProperty(value = "问题描述", name = "problemStatement", required = true, dataType = "String", example = "问题描述")
    private String problemStatement;

    /**
     * 原因
     */
    @Excel(name = "原因")
    @ApiModelProperty(value = "原因", name = "rootCause", required = true, dataType = "String", example = "原因")
    private String rootCause;

    /**
     * 补救措施
     */
    @Excel(name = "补救措施")
    @ApiModelProperty(value = "补救措施", name = "correctiveActionTaken", required = true, dataType = "String", example = "补救措施")
    private String correctiveActionTaken;

    /**
     * 补救措施执行人
     */
    @Excel(name = "补救措施执行人")
    @ApiModelProperty(value = "补救措施执行人", name = "takenBy", required = true, dataType = "String", example = "补救措施执行人")
    private String takenBy;

    /**
     * 日期
     */
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "跟踪日期 yyyy-MM-dd", name = "trackDate", required = true, dataType = "String", example = "跟踪日期")
    private Date trackDate;

    /**
     * 一级代码
     */
    @Excel(name = "一级代码")
    @ApiModelProperty(value = "一级代码", name = "parentCode", required = true, dataType = "String", example = "一级代码")
    private String parentCode;

    /**
     * 一级代码值
     */
    @Excel(name = "一级代码值")
    @ApiModelProperty(value = "一级代码值", name = "parentValue", required = true, dataType = "String", example = "一级代码值")
    private String parentValue;

    /**
     * 错误代码
     */
    @Excel(name = "错误代码")
    @ApiModelProperty(value = "错误代码", name = "errCode", required = true, dataType = "String", example = "错误代码")
    private String errCode;

    /**
     * 错误代码值
     */
    @Excel(name = "错误代码值")
    @ApiModelProperty(value = "错误代码值", name = "errValue", required = true, dataType = "String", example = "错误代码值")
    private String errValue;

    /**
     * 描述
     */
    @Excel(name = "描述")
    @ApiModelProperty(value = "描述", name = "errLongdesc", required = true, dataType = "String", example = "描述")
    private String errLongdesc;

    /**
     * 责任人
     */
    @Excel(name = "责任人")
    @ApiModelProperty(value = "责任人", name = "errResponman", required = true, dataType = "String", example = "责任人")
    private String errResponman;

    /**
     * Error分类
     */
    @Excel(name = "Error分类")
    @ApiModelProperty(value = "Error分类", name = "errType", required = true, dataType = "String", example = "Error分类")
    private String errType;

    /**
     * 是否同步到CC，0未同步、1已同步
     */
    @Excel(name = "是否同步到CC，0未同步、1已同步")
    private String syncFlag;

    /**
     * 同步到CC的时间
     */
    @Excel(name = "同步到CC的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date syncTime;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 辅助id
     */
    @Excel(name = "辅助id")
    @ApiModelProperty(value = "辅助id", name = "helpId", required = true, dataType = "String", example = "辅助id")
    private String helpId;

    @ApiModelProperty(value = "客户英文单位名称", name = "helpId", required = true, dataType = "String", example = "客户英文单位名称")
    private String enCompanyName;

    // 辅助字段
    /**
     * 子表主键(st_plan_details表主键)
     */
    @ApiModelProperty(value = "st_plan_details表主键", name = "planId", required = true, dataType = "int", example = "st_plan_details表主键")
    private Long planId;
    /**
     * 服务通知主键（st_service_notice表）
     */
    @ApiModelProperty(value = "st_service_notice表主键", name = "noticeId", required = true, dataType = "String", example = "st_service_notice表主键")
    private Long noticeId;
    /**
     * 工程师姓名
     */
    @ApiModelProperty(value = "工程师姓名", name = "fseName", required = true, dataType = "String", example = "工程师姓名")
    private String fseName;
    private String status;


    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public String getServiceNo() {
        return serviceNo;
    }

    public void setEnginnerId(Long enginnerId) {
        this.enginnerId = enginnerId;
    }

    public Long getEnginnerId() {
        return enginnerId;
    }

    public void setErrorDate(Date errorDate) {
        this.errorDate = errorDate;
    }

    public Date getErrorDate() {
        return errorDate;
    }

    public void setProblemStatement(String problemStatement) {
        this.problemStatement = problemStatement;
    }

    public String getProblemStatement() {
        return problemStatement;
    }

    public void setRootCause(String rootCause) {
        this.rootCause = rootCause;
    }

    public String getRootCause() {
        return rootCause;
    }

    public void setCorrectiveActionTaken(String correctiveActionTaken) {
        this.correctiveActionTaken = correctiveActionTaken;
    }

    public String getCorrectiveActionTaken() {
        return correctiveActionTaken;
    }

    public void setTakenBy(String takenBy) {
        this.takenBy = takenBy;
    }

    public String getTakenBy() {
        return takenBy;
    }

    public void setTrackDate(Date date) {
        this.trackDate = date;
    }

    public Date getTrackDate() {
        return trackDate;
    }

    public void setParentCode(String parentCode) {
        this.parentCode = parentCode;
    }

    public String getParentCode() {
        return parentCode;
    }

    public void setParentValue(String parentValue) {
        this.parentValue = parentValue;
    }

    public String getParentValue() {
        return parentValue;
    }

    public void setErrCode(String errCode) {
        this.errCode = errCode;
    }

    public String getErrCode() {
        return errCode;
    }

    public void setErrValue(String errValue) {
        this.errValue = errValue;
    }

    public String getErrValue() {
        return errValue;
    }

    public void setErrLongdesc(String errLongdesc) {
        this.errLongdesc = errLongdesc;
    }

    public String getErrLongdesc() {
        return errLongdesc;
    }

    public void setErrResponman(String errResponman) {
        this.errResponman = errResponman;
    }

    public String getErrResponman() {
        return errResponman;
    }

    public void setErrType(String errType) {
        this.errType = errType;
    }

    public String getErrType() {
        return errType;
    }

    public void setSyncFlag(String syncFlag) {
        this.syncFlag = syncFlag;
    }

    public String getSyncFlag() {
        return syncFlag;
    }

    public void setSyncTime(Date syncTime) {
        this.syncTime = syncTime;
    }

    public Date getSyncTime() {
        return syncTime;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setHelpId(String helpId) {
        this.helpId = helpId;
    }

    public String getHelpId() {
        return helpId;
    }

    public String getEnCompanyName() {
        return enCompanyName;
    }

    public void setEnCompanyName(String enCompanyName) {
        this.enCompanyName = enCompanyName;
    }

    public Long getPlanId() {
        return planId;
    }

    public void setPlanId(Long planId) {
        this.planId = planId;
    }

    public Long getNoticeId() {
        return noticeId;
    }

    public void setNoticeId(Long noticeId) {
        this.noticeId = noticeId;
    }

    public String getFseName() {
        return fseName;
    }

    public void setFseName(String fseName) {
        this.fseName = fseName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "StErrorReport{" +
                "id=" + id +
                ", serviceNo='" + serviceNo + '\'' +
                ", enginnerId=" + enginnerId +
                ", errorDate=" + errorDate +
                ", problemStatement='" + problemStatement + '\'' +
                ", rootCause='" + rootCause + '\'' +
                ", correctiveActionTaken='" + correctiveActionTaken + '\'' +
                ", takenBy='" + takenBy + '\'' +
                ", trackDate=" + trackDate +
                ", parentCode='" + parentCode + '\'' +
                ", parentValue='" + parentValue + '\'' +
                ", errCode='" + errCode + '\'' +
                ", errValue='" + errValue + '\'' +
                ", errLongdesc='" + errLongdesc + '\'' +
                ", errResponman='" + errResponman + '\'' +
                ", errType='" + errType + '\'' +
                ", syncFlag='" + syncFlag + '\'' +
                ", syncTime=" + syncTime +
                ", delFlag='" + delFlag + '\'' +
                ", helpId='" + helpId + '\'' +
                ", enCompanyName='" + enCompanyName + '\'' +
                ", planId=" + planId +
                ", noticeId=" + noticeId +
                ", fseName='" + fseName + '\'' +
                ", status='" + status + '\'' +
                '}';
    }
}
